package com.aspect;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

/**
 * Created by lizhenyu on 2019/9/14
 */
@Component
@Aspect
public class LoginAspect {

    /**
     * 声明一个切点。
     * Pointcut注解可以指定连接点的集合
     */
    @Pointcut("execution(* com.dao.*.*(..))")
    public void loginCut() {
    }

    /**
     * 这个切点由于指定的连接点不存在，因此不会执行通知
     */
    @Pointcut("execution(* com.lzy.*.*(..))")
    public void testCut() {
    }

    /**
     * 声明一个前置通知, 与切点关联，在切点处执行
     */
    @Before("loginCut()")
    public void before() {
        System.out.println("before loginCut");
    }
}
